Accelerators are typically used to improve the performance of computer systems by offloading computationally intensive operations from the central processing unit(s) thereby freeing the CPUs to perform additional operations while the computationally intensive operations are performed concurrently by the accelerator. Prior solutions have used custom application-specific integrated circuits (ASICs) that included micro-controllers and digital signal processors (DSPs) to offload computationally intensive operations from the CPU. However, with the ever-increasing emphasis on cloud based services and solutions, the focus is shifting from device-level acceleration to cloud-based, server-level acceleration. In particular, given the ubiquity of cloud-based services, a strong preference exists for commercial, off-the-shelf (COTS) based solutions.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications and variations thereof will be apparent to those skilled in the art.